package com.xzj.admin.boot.service.impl;

import com.xzj.admin.boot.domain.entity.SysDictType;
import com.xzj.admin.boot.mapper.SysDictTypeMapper;
import com.xzj.admin.boot.service.SysDictTypeService;
import com.xzj.common.datasource.domain.PageReq;
import com.xzj.common.datasource.domain.PageResp;
import com.xzj.common.datasource.utils.XzjPageUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
 * 字典类型表;(sys_dict_type)表服务实现类
 * @author : http://www.chiner.pro
 * @date : 2024-3-5
 */
@Service
public class SysDictTypeServiceImpl implements SysDictTypeService {
    @Autowired
    private SysDictTypeMapper sysDictTypeMapper;

    /**
     * 通过ID查询单条数据 
     *
     * @param id 主键
     * @return 实例对象
     */
    public SysDictType queryById(long id){
        return sysDictTypeMapper.queryById(id);
    }

    /**
     * 分页查询
     *
     * @param pageReq 筛选条件
     * @return 查询结果
     */
    public PageResp<SysDictType> paginQuery(PageReq<SysDictType> pageReq){
       return XzjPageUtil.queryPage(pageReq, sysDictType -> sysDictTypeMapper.queryAllByLimit(sysDictType));
    }

    /**
     * 新增数据
     *
     * @param sysDictType 实例对象
     * @return 实例对象
     */
    public SysDictType insert(SysDictType sysDictType){
        sysDictTypeMapper.insert(sysDictType);
        return sysDictType;
    }

    /**
     * 更新数据
     *
     * @param sysDictType 实例对象
     * @return 实例对象
     */
    public SysDictType update(SysDictType sysDictType){
        sysDictTypeMapper.update(sysDictType);
        return sysDictType;
    }

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    public boolean deleteById(long id){
        int total = sysDictTypeMapper.deleteById(id);
        return total > 0;
    }
}
